#ifndef __BE_MATH__
#define __BE_MATH__

namespace Math
{
  template<UINT64 _S>
  class Factorial
  {
  public:
    static const UINT64 value = _S * Factorial<_S - 1>::value;
  };
  
  template<>
  class Factorial<0>
  {
  public:
    static const UINT64 value = 1;
  };
}

#endif
